package middlware;

import application.Message;
import application.Servidor;

public class Invoker {
	
	//na realidade aqui deve entra e retornanr um objeto serializado 
	public byte[] recebeRequisicaoServerRequestHandler(byte[] msgRequisicao) throws Exception {
		Marshaller m = new Marshaller();
		Message msgRequisicaoDeserializada = m.desserializarObjeto(msgRequisicao);
		Servidor s = new Servidor();
		
		if(msgRequisicaoDeserializada.getNomeMetodo().equalsIgnoreCase("soma")){
			int soma = s.soma(msgRequisicaoDeserializada.getArgumentos());
			msgRequisicaoDeserializada.setResultado(soma);	
		}
		
        if(msgRequisicaoDeserializada.getNomeMetodo().equalsIgnoreCase("subtracao")){
        	int subtracao = s.subtracao(msgRequisicaoDeserializada.getArgumentos());
			msgRequisicaoDeserializada.setResultado(subtracao);
        }

		
        byte[] msgResSer = m.serializarObjeto(msgRequisicaoDeserializada);
		return msgResSer;
		
	}
	
	
}
